package com.gcb.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.gcb.common.annotation.Excel;
import com.gcb.common.core.domain.entity.GcbUser;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Set;

@Data
public class AppUserInfoVO{
    /**
     * 自增id
     */
    private Long id;

    /**
     * 真实姓名
     */
    @Excel(name = "真实姓名")
    private String name;

    /**
     * 用户昵称
     */
    @Excel(name = "用户昵称")
    private String nickName;

    /**
     * 人像照片
     */
    @Excel(name = "人像照片")
    private String faceUrl;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private String mobile;

    /**
     * 用户性别(0男 1女 2未知)
     */
    @Excel(name = "用户性别(0男 1女 2未知)")
    private Integer sex;

    /**
     * 年龄
     */
    @Excel(name = "年龄")
    private Integer age;

    /**
     * 学历
     */
    @Excel(name = "学历")
    private String education;

    /**
     * 参加工作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workDate;

    /**
     * 工作经验
     */
    private Integer experience;

    /**
     * 身份标签
     */
    @Excel(name = "身份标签")
    private String tag;

    /**
     * 头像地址
     */
    @Excel(name = "头像地址")
    private String avatar;


    /**
     * 所在城市
     */
    @Excel(name = "所在城市")
    private String city;

    /**
     * 城市的中文名称
     */
    @Excel(name = "城市的中文名称")
    private String cityLabel;

    /**
     * 账号状态 0-停用，1-正常
     */
    @Excel(name = "账号状态 0-停用，1-正常")
    private Integer status;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String identityCard;

    /**
     * 实名认证状态 0-未认证  1-已认证
     */
    @Excel(name = "实名认证状态 0-未认证  1-已认证")
    private Integer authStatus;

    /**
     * 实名认证通过时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实名认证通过时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date authTime;

    /**
     * 注册类型：0-运营创建 1-自注册
     */
    @Excel(name = "注册类型：0-运营创建 1-自注册")
    private String signType;

    /**
     * 删除标志(0代表存在 2代表删除)
     */
    private Integer delFlag;

    /**
     * 最后登录IP
     */
    @Excel(name = "最后登录IP")
    private String loginIp;

    /**
     * 船员认证状态 1未认证 2已认证
     */
    private Integer crewAuthStatus;

    /**
     * 最后登录时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginDate;

    private List<CompanyUserVO> companyUsers;

    /**
     * 注册时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
}
